﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Metadados;
using MySql.Data.MySqlClient;
using System.Data;

namespace Dados
{
    public class DBUsuario
    {
    
        private ConexaoMYSQL objConexao = new ConexaoMYSQL();

        public bool incluir(Usuario obj)
        {
        bool blnRetorno = false;

        string strSql = "INSERT INTO USUARIO (usrCodigo,usrNome,usrSenha,usrTipo)" +
                             " VALUES (@p_usrCodigo,@p_usrNome,@p_usrSenha,@p_usrTipo)";

                List<MySqlParameter> objParams = new List<MySqlParameter>();
                objParams.Add(new MySqlParameter("@p_usrCodigo", obj.usrCodigo));
                objParams.Add(new MySqlParameter("@p_usrNome", obj.usrNome));
                objParams.Add(new MySqlParameter("@p_usrSenha", obj.usrSenha));
                objParams.Add(new MySqlParameter("@p_usrTipo", obj.usrTipo));

                blnRetorno = objConexao.executarComando(strSql, objParams);

                return blnRetorno;
            }

            public bool atualizar(Usuario obj)
            {
                bool blnRetorno = false;

                string strSql = "UPDATE USUARIO SET undNome = @p_usrNome, usrSenha = @p_usrSenha, usrTipo = @p_usrTipo" +
                                " WHERE usrCodigo = @p_usrCodigo";

                List<MySqlParameter> objParams = new List<MySqlParameter>();
                objParams.Add(new MySqlParameter("@p_usrCodigo", obj.usrCodigo));
                objParams.Add(new MySqlParameter("@p_usrNome", obj.usrNome));
                objParams.Add(new MySqlParameter("@p_usrSenha", obj.usrSenha));
                objParams.Add(new MySqlParameter("@p_usrTipo", obj.usrTipo));
                objParams.Add(new MySqlParameter("@p_usrCodigo", obj.usrCodigo));

                blnRetorno = objConexao.executarComando(strSql, objParams);

                return blnRetorno;
            }

            public bool excluir(int p_usrCodigo)
            {
                bool blnRetorno = false;

                string strSql = "DELETE FROM USUARIO WHERE usrCodigo = @p_usrCodigo";

                List<MySqlParameter> objParams = new List<MySqlParameter>();
                objParams.Add(new MySqlParameter("@p_usrCodigo", p_usrCodigo));

                blnRetorno = objConexao.executarComando(strSql, objParams);

                return blnRetorno;
            }

            public List<Usuario> consultar(int p_usrCodigo)
            {
                string strSql = "SELECT usrCodigo, usrNome, usrSenha, usrTipo FROM USUARIO " +
                                "WHERE usrCodigo = @p_usrtCodigo";
                List<MySqlParameter> objParams = new List<MySqlParameter>();
                objParams.Add(new MySqlParameter("@p_usrCodigo", p_usrCodigo));

                DataTable objTbUsuarios = objConexao.retornarTabela(strSql, objParams, "Usuario");

                List<Usuario> objUsuarios = new List<Usuario>();
                foreach (DataRow row in objTbUsuarios.Rows)
                {
                    Usuario objUsuario = new Usuario();
                    objUsuario.usrCodigo = (int)row["usrCodigo"];
                    objUsuario.usrNome = (string)row["usrNome"];
                    objUsuario.usrSenha = (string)row["usrSenha"];
                    objUsuario.usrTipo = (int)row["usrTipo"];

                    objUsuarios.Add(objUsuario);
                }

                return objUsuarios;
            }

           /* public DataView listar(string p_proDescricao)
            {
                string strSql = "SELECT * FROM UNIDADE WHERE proCodigo <> 0 ";

                List<MySqlParameter> objParams = new List<MySqlParameter>();

                if (p_proDescricao.Trim() != "")
                {
                    strSql += "AND proDescricao LIKE @p_proDescricao";
                    objParams.Add(new MySqlParameter("@p_proDescricao", "%" + p_proDescricao + "%"));
                }

                DataTable objTbUnidades = new DataTable();

                objTbUnidades = objConexao.retornarTabela(strSql, objParams, "Unidade");

                return objTbUnidades.DefaultView;
            } */
        
    }
}
